home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs47.d81 / burst64.sfx / burst.tech < prev   
Text File  |  1990-02-12  |  12KB  |  487 lines

  1.         ┬╒╥╙╘ ╘ECH: ╨ART ╔╔ OF
  2.  
  3.       ┴DDING ┬╒╥╙╘ ═ODE TO A ├64
  4.       --------------------------
  5.  
  6.          ┬Y ┴NDREW ┼. ═ILESKI
  7.          "╥ECURSION" ON ╤-╠INK
  8.     ├OPYRIGHT AS OF ╬OVEMBER 5,1989
  9.  
  10.     ╓ERSION ─ATED ╙EPTEMBER 1, 1990
  11.  
  12. ╘HIS FILE IS BEING OFFERED "╙HARE╫ARE"
  13. ╨LEASE SEND $5 OR ANY AMOUNT YOU THINK
  14. IS SUITABLE FOR THIS TWO PART ARTICLE:
  15.           ┴NDREW ┼. ═ILESKI
  16.           210-180 ╠EES ┴VENUE
  17.           ╧TTAWA, ╧NTARIO
  18.           ├ANADA ╦1╙ 5╩6
  19. ╘HE MONEY WILL BE USED TO SAVE MY ├64
  20. FROM THE AUCTION BLOCK, SO ╔ CAN
  21. CONTINUE TO BRING YOU PROJECTS LIKE
  22. THIS ONE.
  23.  
  24. ╬OTE: ╘HIS FILE IS MEANT TO GIVE THE
  25.       ADVANCED PROGRAMMER SOME IDEA OF
  26.       HOW TO INCORPORATE ┬╒╥╙╘ MODE IN
  27.       HIS/HER PROGRAMMES. ╔T IS NOT A
  28.       "HOLD YOUR HAND" TYPE OF FILE, SO
  29.       YOU'LL NEED TO DO SOME READING ON
  30.       YOUR OWN IN THE AREAS OF MACHINE
  31.       LANGUAGE PROGRAMMING, AND THE
  32.       ╔NPUT/╧UTPUT CHIPS OF THE ├64
  33.       (ESPECIALLY THE 6526 ├OMPLEX
  34.       ╔NTERFACE ┴DAPTOR CHIP).
  35.  
  36. ├OMMODORE 64 ╨ROGRAMMERS ╥EFERENCE
  37. ╟UIDE (FIRST EDITION) ┴PPENDIX ═, PAGES
  38. 419-435 EXPLAIN THE ├╔┴ IN DEPTH.
  39.  
  40. ├OMMODORE 1581 ╒SER'S ╟UIDE (1987)
  41. ├HAPTER 9, PAGES 91-99 EXPLAIN ┬╒╥╙╘
  42. MODE IN DEPTH.
  43.  
  44. 1581 ─╧╙ ╥EFERENCE ╟UIDE (1988) BY
  45. ─AVID ╫. ═ARTIN (AVAILABLE FROM
  46. ╙OFTWARE ╙UPPORT ╔NTERNATIONAL).
  47.  
  48.         -----------------------
  49.  
  50. ┬╒╥╙╘ ═ODE
  51. ----------
  52.  
  53. ┬╒╥╙╘ MODE IS VERY SIMPLE TO UNDERSTAND
  54. AND USE. ╘HE COMPUTER AND DRIVE STILL
  55. COMMUNICATE IN SERIAL FORM (BIT BY BIT)
  56. LIKE THE STANDARD SERIAL BUS, BUT THE
  57. DATA IS SENT AT A MUCH HIGHER RATE BY
  58. USING A HARDWARE DRIVEN SERIAL PORT.
  59.  
  60. ╘HE DATA IS TRANSFERED IN PACKETS OF 8
  61. BITS AT HIGH SPEED, OR IN 8 BIT ┬╒╥╙╘S.
  62. ╘HIS IS HOW ╔ BELIEVE THE PROTOCOL
  63. DERIVED ITS NAME.
  64.  
  65. ╘HE ┬╒╥╙╘ PROTOCOL DOES NOT INTERFERE
  66. WITH THE CONVENTIONAL SLOW SERIAL BUS.
  67. ╘HIS WAS DONE SO THAT NON-┬╒╥╙╘ CAPABLE
  68. DEVICES WOULDN'T GET CONFUSED WHEN A
  69. ┬╒╥╙╘ TRANSFER WAS TAKING PLACE.
  70.  
  71. ╘HE SAME STANDARD SERIAL CABLE IS USED
  72. FOR ┬╒╥╙╘ MODE. ╘HE DATA IS STILL
  73. TRANSFERED ON THE ─┴╘┴ LINE, BUT THE
  74. ╙╥╤ (╙ERVICE ╥E╤UEST) LINE IS NOW USED
  75. FOR TIMING THE HARDWARE SERIAL PORTS,
  76. AND THE ├╠╦ (├╠OC╦) LINE IS NOW USED
  77. FOR A ┬╒╥╙╘ HANDSHAKE.
  78.  
  79. ┬╒╥╙╘α╚ANDSHAKE
  80. ---------------
  81.  
  82. ╘HE ┬╒╥╙╘ PROTOCOL IS RECEIVER DRIVEN.
  83. ╘HIS MEANS THAT THE RECEIVER, EITHER
  84. THE ├64 OR THE DRIVE, IS IN CHARGE OF
  85. THE DATA TRANSFER. ╘HE HANDSHAKE IS
  86. DONE THROUGH THE USE OF THE ├╠╦ SERIAL
  87. BUS SIGNAL. ╫HENEVER THE RECEIVER
  88. CHANGES THE STATE OF THE ├╠╦ LINE, THIS
  89. MEANS THAT THE RECEIVER IS READY FOR
  90. MORE DATA.
  91.  
  92. ┬╒╥╙╘ ╨ROTOCOL
  93. --------------
  94.  
  95. ┴LMOST ALL ┬╒╥╙╘ COMMANDS USE THE
  96. ┬╒╥╙╘ PROTOCOL. ╘HE ┬╒╥╙╘ COMMAND IS
  97. SIMPLY ISSUED TO THE DRIVE'S COMMAND
  98. CHANNEL USING THE NORMAL SLOW SERIAL
  99. BUS. ╘HE COMMAND INCLUDES THE OPERANDS
  100. AND DATA, IF ANY, THAT ARE INITIALLY
  101. SENT. ╘HE DRIVE WILL THEN USUALLY
  102. RESPOND WITH A ┬╒╥╙╘ STATUS BYTE,
  103. AND/OR DATA WHICH IS TRANSFERED BYTE BY
  104. BYTE USING THE ┬╒╥╙╘ HANDSHAKE.
  105.  
  106. ╘HE COMMANDS THAT USE THE CONVENTIONAL
  107. SERIAL BUS PROTOCOL, DO NOT SEND ANY
  108. ┬╒╥╙╘ DATA.
  109.  
  110. ┬╒╥╙╘ ─ETECTION
  111. ---------------
  112.  
  113. ╘O FIGURE OUT IF A DEVICE IS CAPABLE OF
  114. BURST MODE THERE ARE A FEW SIMPE TESTS
  115. THAT CAN BE DONE. ╙INCE ONLY 1571 AND
  116. 1581 DIVES ARE CAPABLE OF BURST MODE,
  117. YOU CAN LOOK FOR THESE DRIVE TYPES AT
  118. POWER UP (USE THE ╒╩ COMMAND), OR EVEN
  119. THROUGH A COMPLEX ╥╧═ TEST.
  120.  
  121. ┴ MUCH SIMPLER WAY IS TO ISSUE A ┬╒╥╙╘
  122. COMMAND, SUCH AS ╤╒┼╥┘α╙╘┴╘╒╙, AND SEE
  123. IF THE DRIVE RESPONDS TO IT AS
  124. EXPECTED.
  125.  
  126. ╨HYSICAL VS ╠OGICAL
  127. -------------------
  128.  
  129. ╔T IS VERY IMPORTANT TO UNDERSTAND THAT
  130. MOST OF THE ┬╒╥╙╘αCOMMANDS USE ╨╚┘╙╔├┴╠
  131. AND NOT THE NORMAL ╠╧╟╔├┴╠ DISK FORMAT.
  132. ╘HE ╠╧╟╔├┴╠ FORMAT IS THE ONE WE ARE
  133. MOST FAMILIAR WITH: SINGLE SIDED DISK,
  134. TRACKS 1 TO N, SECTORS 0 TO N OF 256
  135. BYTES. ╘HE ╠╧╟╔├┴╠ FORMAT MAKES ALL
  136. DRIVES LOOK SIMILAR. ╘HE ╨╚┘╙╔├┴╠
  137. FORMATCAN BE QUITE DIFFERENT THOUGH!
  138. ╞OR EXAMPLE, THE 1581: DOUBLE SIDED,
  139. TRACKS 0 TO 79, SECTOR 1 TO 10 OF 512
  140. BYTES.
  141.  
  142. ┘OU MUST BE CAREFUL NOT TO EXCEED THE
  143. MAXIMUM SIZE OF THE OPERANDS EITHER,
  144. SINCE THE DRIVE WILL NOT CHECK TO SEE
  145. IF THEY ARE IN LIMITS.
  146.  
  147.          -----------------------
  148.  
  149. ╘HE ├╔┴ AND SERIAL BUS NAMES OF SIGNALS
  150. ARE USED WHERE APPROPRIATE IN THIS
  151. ARTICLE. ╩UST REMEMBER THAT THE SERIAL
  152. BUS SIGNAL ─┴╘┴ IS THE EXACT SAME
  153. SIGNAL ON THE ├╔┴ AS ╙╨. ╘HE SAME GOES
  154. FOR ╙╥╤ AND ├╬╘.
  155.  
  156. ├╔┴ ╙ERIAL ╨ORT
  157. ---------------
  158.  
  159. ╧UTPUT
  160.       ─ATA IS SHIFTED OUT ON THE ╙╨ PIN
  161. ON THE NEGATIVE (-VE) EDGE OF THE ├╬╘
  162. PIN AND IS VALID UNTIL THE NEXT -VE
  163. EDGE OF ├╬╘. ─ATA IS SHIFTED OUT ═╙┬
  164. FIRST AT THE RATE OF HALF THE UNDERFLOW
  165. RATE OF TIMER ┴.
  166.  
  167. ╔NPUT
  168.       ─ATA IS SHIFTED IN ON THE ╙╨ PIN
  169. ON THE POSITIVE (+VE) EDGE OF THE ├╬╘
  170. PIN. ─ATA IS SHIFTED IN ═╙┬ FIRST.
  171.  
  172. ╘HE ╙╨ AND ├╬╘ PINS ARE ALWAYS BOTH
  173. INPUTS, OR BOTH OUTPUTS.
  174.  
  175. ┴N INTERNAL BIT COUNTER SETS A FLAG
  176. AFTER 8 ├╬╘ PULSES. ╘HIS COUNTER IS
  177. RESET TO ZERO AFTER 8 ├╬╘ PULSES, OR
  178. WHEN THE DIRECTION OF THE PORT IS
  179. CHANGED.
  180.  
  181. ═EMORY ┴DDRESSES
  182. ----------------
  183.  
  184. $─├04 ╘IMER ┴: ╠OW BYTE
  185. $─├05 ╘IMER ┴: ╚IGH BYTE
  186. $─├0├ ╙YNCHRONOUS SERIAL ╔/╧ DATA
  187.       BUFFER
  188. $─├0─ ├╔┴ INTERRUPT CONTROL REGISTER
  189.       BIT 7 ╔╥╤ FLAG
  190.             ╥EAD=0 NO INTERRUPTS.
  191.                 =1 INTERRUPT OCCURRED
  192.            ╫RITE=0 ─ISABLE THE SOURCES
  193.                    OF INTERRUPTS, THAT
  194.                    ARE SET TO 1, FROM
  195.                    CAUSING A PROCESSOR
  196.                    INTERRUPT.
  197.            ╫RITE=1 ┼NABLE THE SOURCES
  198.                    OF INTERRUPTS, THAT
  199.                    ARE SET TO 1, TO
  200.                    CAUSE A PROCESSOR
  201.                    INTERRUPT.
  202.       BIT 4 ╞╠┴╟1 (-VE EDGE ACTIVE).
  203.       BIT 3 ╙ERIAL PORT BUFFER IS FULL
  204.             OR EMPTY.
  205.       BIT 2 ╘IME OF DAY CLOCK ALARM.
  206.       BIT 1 ╘IMER ┬ UNDERFLOW.
  207.       BIT 0 ╘IMER ┴ UNDERFLOW.
  208.       ╬OTE ALL INTERRUPTS ARE CLEARED
  209.       WHEN THIS REGISTER IS READ.
  210. $─├0┼ ├╔┴ ╘IMER ┴ CONTROL REGISTER.
  211.       BIT 7 ╘IME OF DAY CLOCK FREQUENCY
  212.             0 = 50 ╚ERTZ
  213.             1 = 60 ╚ERTZ
  214.       BIT 6 ╙ERIAL PORT MODE
  215.             0 = INPUT
  216.             1 = OUTPUT
  217.       BIT 5 ╘IMER ┴ TO COUNT
  218.             0 = ├╬╘ +VE EDGES
  219.             1 = THETA2 +VE EDGES
  220.       BIT 4 ╞ORCE LOAD TIMER ┴ WHEN
  221.             THIS BIT IS SET TO 1 (IT IS
  222.             RESET TO 0 AUTOMATICALLY)
  223.       BIT 3 ╘IMER ┴ RUN MODE
  224.             0 = ├ONTINUOUS
  225.             1 = ╧NE-SHOT
  226.       BIT 2 ╘IMER ┴ ╧UTPUT ═ODE ON ╨┬6
  227.             0 = ╨ULSE
  228.             1 = ╘OGGLE
  229.       BIT 1 ╘IMER ┴ OUTPUT ON ╨┬6?
  230.             0 = ╬O
  231.             1 = ┘ES
  232.       BIT 0 ╙TART/╙TOP TIMER ┴
  233.             0 = ╙TART
  234.             1 = ╙TOP
  235.  
  236. $──00 ├╔┴ #2 ─ATA PORT ┴
  237.       BIT 7 ╙ERIAL BUS ─┴╘┴ INPUT
  238.       BIT 6 ╙ERIAL BUS ├╠╦ INPUT
  239.       BIT 5 ╙ERIAL BUS ─┴╘┴ OUTPUT
  240.             (INVERTED)
  241.       BIT 4 ╙ERIAL BUS ├╠╦ OUTPUT
  242.             (INVERTED)
  243.       BIT 3 ╙ERIAL BUS ┴╘╬ OUTPUT
  244.             (INVERTED)
  245.       BIT 2 ╥╙-232 ─ATA OUTPUT
  246.             (NON-INVERTED)
  247.       BIT 1 ╓╔├ BANK SELECT HIGH BIT
  248.       BIT 0 ╓╔├ BANK SELECT LOW BIT
  249.  
  250. ╫┴╥╬╔╬╟!
  251. ╘IMER ┴ ON ├╔┴ #1 IS NORMALLY USED BY
  252. THE OPERATING SYSTEM! ├ARE MUST BE
  253. TAKEN WHEN USING THIS TIMER!
  254. ╞OR ┼XAMPLE:
  255.  1) ╙TOP TIMER ┴
  256.  2) ╞ORCE LOAD TIMER ┴
  257.  3) ╙AVE THE COUNT FOR TIMER ┴ IN A
  258.     SAFE PLACE.
  259.  4) ╒SE TIMER ┴ AS REQUIRED
  260.  5) ╫HEN FINISHED WITH TIMER ┴, RESTORE
  261.     THE COUNT TO TIMER ┴.
  262.  6) ╞ORCE LOAD TIMER ┴.
  263.  7) ╥E-START TIMER ┴.
  264. ╔F TIMER ┴ INTERRUPT MUST BE DISABLED,
  265. MAKE SURE TO RE-ENABLE IT WHEN YOUR
  266. DONE. ╔T IS BEST TO AVOID DOING THIS
  267. BY DISABLING ┴╠╠ INTERRUPTS BY USING
  268. THE ╙┼╔ (SET INTERRUPT DIABLE FLAG)
  269. INSTRUCTION OF THE 6510 PROCESSOR.
  270.  
  271.          ┬╒╥╙╘ ├OMMANDS (1581)
  272.          ---------------------
  273.  
  274. ╒NLESS NOTED, ALL COMMANDS USE ┬╒╥╙╘
  275. HANDSHAKE PROTOCOL.
  276.  
  277. ┴LL ┬╒╥╙╘ COMMANDS BEGIN WITH ╒0
  278. BYTE 0  %01010101
  279. BYTE 1  %00110000
  280.  
  281. ╥┼┴─
  282. ----
  283. BYTE 2  %╠┼╪╙000╬
  284. BYTE 3  ╘RACK
  285. BYTE 4  ╙ECTOR
  286. BYTE 5  ╬UMBER OF SECTORS
  287. BYTE 6  ╬EXT TRACK (OPTIONAL)
  288.  
  289. ╥ANGE: ┴LL VALUES ARE DETERMINED BY THE
  290. PARTICULAR DISK FORMAT.
  291.  
  292. ├ONVENTIONS: ┬EFORE YOU ╥┼┴─ A DISK, IT
  293. MUST BE LOGGED-IN USING EITHER THE
  294. ╔╬╤╒╔╥┼ ─╔╙╦α╞╧╥═┴╘ OR ╤╒┼╥┘ ─╔╙╦
  295. ╞╧╥═┴╘ COMMANDS. ╘HIS MUST BE DONE ONCE
  296. FOR EACH TIME YOU CHANGE THE DISK.
  297.  
  298. ╧UTPUT: ╧NE ┬╒╥╙╘ STATUS BYTE, FOLLOWED
  299. BY ┬╒╥╙╘ DATA, IS SENT FOR EACH SECTOR
  300. TRANSFERED. ┴N ERROR PREVENTS DATA FROM
  301. BEING SENT UNLESS THE ┼ BIT IS SET.
  302.  
  303. ╫╥╔╘┼
  304. -----
  305. BYTE 2  %╠┼╪╙001╬
  306. BYTE 3  ╘RACK
  307. BYTE 4  ╙ECTOR
  308. BYTE 5  ╬UMBER OF SECTORS
  309. BYTE 6  ╬EXT TRACK (OPTIONAL)
  310.  
  311. ╥ANGE: ┴LL VALUES ARE DETERMINED BY THE
  312. PARTICULAR DISK FORMAT.
  313.  
  314. ├ONVENTIONS: ┬EFORE YOU ╫╥╔╘┼ A DISK IT
  315. MUST BE LOGGED-IN USING EITHER THE
  316. ╔╬╤╒╔╥┼ ─╔╙╦α╞╧╥═┴╘ OR ╤╒┼╥┘ ─╔╙╦
  317. ╞╧╥═┴╘ COMMANDS. ╘HIS MUST BE DONE ONCE
  318. FOR EACH TIME YOU CHANGE THE DISK
  319.  
  320. ╔NPUT: ╚OST MUST TRANSFER ┬╒╥╙╘ DATA
  321.  
  322. ╧UTPUT: ╧NE ┬╒╥╙╘ STATUS BYTE, AFTER
  323. EACH SECTOR TRANSFERED.
  324.  
  325. ╔╬╤╒╔╥┼ ─╔╙╦
  326. ------------
  327. BYTE 2  %╪╪╪╙010╬
  328.  
  329. ╧UTPUT: ╧NE BURST STATUS BYTE.
  330.  
  331. ╞╧╥═┴╘
  332. ------
  333. BYTE 2  %═╪╪╪011╬
  334. BYTE 3  ╙ECTOR SIZE (OPTIONAL)
  335.         1 =  256 BYTES
  336.         2 =  512 BYTES (DEFAULT)
  337.         3 = 1024 BYTES
  338. BYTE 4  ╠AST TRACK NUMBER (OPTIONAL)
  339.         DEFAULT = 79
  340. BYTE 5  ╬UMBER OF SECTORS (OPTIONAL)
  341.         DEPENDS ON BYTE 3!
  342.          5  1024 BYTE SECTORS
  343.         10   512 BYTE SECTORS (DEFAULT)
  344.         16   256 BYTE SECTORS
  345. BYTE 6  ╙TARTING TRACK (OPTIONAL)
  346.         DEFAULT = 0
  347. BYTE 7  ╞ILL BYTE (OPTIONAL)
  348.         DEFAULT = $┼5
  349. BYTE 8  ╙TARTING SECTOR (OPTIONAL)
  350.         DEFAULT = 1
  351.  
  352. ╨ROTOCOL: ├ONVENTIONAL.
  353.  
  354. ╧UTPUT: ╬ONE. ╙TATUS WILL BE UPDATED
  355. WITHIN THE DRIVE.
  356.  
  357. ╤╒┼╥┘α─╔╙╦α╞╧╥═┴╘
  358. -----------------
  359. BYTE 2  %╞╪╘╙101╬
  360. BYTE 3  ╧╞╞╙┼╘ (OPTIONAL)
  361.  
  362. ╧UTPUT: ┬╥╒╥╙╘ STATUS BYTE FROM THE
  363. PRESENT TRACK, OR THE TRACK AT THE
  364. OFFSET
  365.  
  366. ╔╬╤╒╔╥┼α╙╘┴╘╒╙
  367. --------------
  368. BYTE 2  %╫├═0110╬
  369. BYTE 3 ╬EW STATUS
  370. BYTE 4 ╬EW ╧╥┴ MASK
  371. BYTE 5 ╬EW ┴╬─ MASK
  372.  
  373. ╨ROTOCOL: ┬╒╥╙╘ (╫=1) HANDSHAKE, OR
  374. CONVENTIONL (╫=0).
  375.  
  376. ╧UTPUT: ╬ONE (╫=0), ┬╒╥╙╘ STATUS (╫=1).
  377.  
  378. ─╒═╨α╘╥┴├╦α├┴├╚┼α┬╒╞╞┼╥
  379. -----------------------
  380. BYTE 2 α%╞╙╪11101
  381. BYTE 3  ╨HYSICAL TRACK
  382.  
  383. ├╚╟╒╘╠
  384. ------
  385. BYTE 2  %╪╪╪11110
  386. BYTE 3  ╒TILITY COMMANDS
  387. BYTE 4  ├OMMAND PARAMETER
  388.         ┬1 ╞AST SERIAL
  389.         ┬0 ╙LOW SERIAL
  390.         ╙  ╙ECTOR INTERLEAVE
  391.         ╥  ╥ETRIES
  392.         ╘  ╘EST ╥╧═ SIGNATURE
  393.         ╓0 ╓ERIFY DISK ╧N
  394.         ╓1 ╓ERIFY DISK ╧FF
  395.         ═╥ ═EMORY READ
  396.         ═╫ ═EMORY WRITE
  397.         N  ╬EW DEVICE NUMBER (N=4TO30)
  398.  
  399. ╨ROTOCOL: ├ONVENTIONAL.
  400.  
  401. ╞┴╙╘╠╧┴─
  402. --------
  403. BYTE 2  %╨╪╪11111
  404. BYTE 3  ╞ILE NAME
  405. BYTE N   "    "
  406.  
  407. ╧UTPUT: ┬╒╥╙╘ STATUS BY PRECEDING EACH
  408. SECTOR TRANSFERED. ╘HE BYTE FOLLOWING
  409. THE ┼╧╔ STATUS BYTE IS THE NUMBER OF
  410. DATA BYTES TO FOLLOW.
  411.  
  412. ├OMMAND FLAGS
  413. -------------
  414. ├ ├HANGE FLAG (├=1 ╫=1-LOG IN DISK, C=1
  415.   W=0-RETURN WHETHER DISK WAS LOGGED IN
  416. ┼ ╔GNORE ERROR?
  417.   0 = ╬O
  418.   1 = ┘ES
  419. ╞ ╞ORCE?
  420.   0 = ╬O
  421.   1 = ┘ES
  422.   ╞OR ╤╒┼╥┘α─╔╙╦α╞╧╥═┴╘ FORCES HEAD TO
  423.   STEP TO OFFSET TRACK.
  424.   ╞OR ─╒═╨α╘╥┴├╦α├┴├╚┼α┬╒╞╞┼╥ FORCES
  425.   WRITE WHETHER OR NOT CACHE WAS
  426.   ALTERED.
  427. ╠ ╠OGICAL FLAG
  428.   0 = ╨HYSICAL TRACK AND SECTOR
  429.   1 = ╠OGICAL TRACK AND SECTOR
  430. ═ ═ODE
  431.   0 = ╥ESIDENT DISK FORMAT (IGNORE
  432.       BYTES 3 TO 8, USE DEFAULTS).
  433.   1 = ┴LIEN DISK FORMAT (USE BYTES 3 TO
  434.       8, IGNORE DEFAULTS).
  435.   ╞OR ╔╬╤╒╔╥┼ ╙╘┴╘╒╙ 
  436.   0 = ╬O MASK TO WRITE.
  437.   1 = ╫RITE ┴╬─/╧╥ MASK.
  438. ╬ ─RIVE ╬UMBER
  439. ╨ ╨ROGRAM TYPE?
  440.   0 = ┘ES
  441.   1 = ╬O
  442. ╙ ╙IDE SELECT
  443. ╫ ╫RITE SWITCH (0=WRITE).
  444. ╪ ─ON'T CARE (CAN BE 0 OR 1).
  445.  
  446. ╙╘┴╘╒╙α┬┘╘┼
  447. -----------
  448.  
  449. BIT 7 ═╧─┼
  450.     6 ─╬
  451.     5 ╙╙┌0
  452.     4 ╙╙┌1
  453.     3 ╙╘3
  454.     2 ╙╘2
  455.     1 ╙╘1
  456.     0 ╙╘0
  457.  
  458. ═╧─┼ = 0 ╥ESIDENT DISK FORMAT (DEFAULT
  459.          PHYSICAL FORMAT WITH DIRECTORY
  460.          AND ┬┴═ INFORMATION).
  461. ═╧─┼ = 1 ┴LIEN DISK FORMAT (NON-DEFAULT
  462.          PHYSICAL FORMAT, OR DEFAULT
  463.          PHYSICAL FORMAT WITHOUT ┬┴═
  464.          INFORMATION AND DIRECTORY).
  465. ─╬   =   ─RIVE NUMBER.
  466. ╙┌   =   ╙ECTOR SIZE
  467.           00   128 BYTE
  468.           01   256 BYTE
  469.           10   512 BYTE
  470.           11  1024 BYTE
  471. ╙╘   =   ├ONTROLLER STATUS
  472.           000╪ ╧╦
  473.           0010 ├┴╬'╘α╞╔╬─α╚┼┴─┼╥α┬╠╧├╦
  474.           0011 ╬╧α┴──╥┼╙╙α═┴╥╦
  475.           0100 ─┴╘┴α┬╠╧├╦α╬╧╘α╨╥┼╙┼╬╘
  476.           0101 ─┴╘┴α├╥├α┼╥╥╧╥
  477.           0110 ╞╧╥═┴╘α┼╥╥╧╥
  478.           0111 ╓┼╥╔╞┘α┼╥╥╧╥
  479.           1000 ╫╥╔╘┼α╨╥╧╘┼├╘α┼╥╥╧╥
  480.           1001 ╚┼┴─┼╥α┬╠╧├╦α├╥├α┼╥╥╧╥
  481.           1010 ╫╥╔╘┼α╨╥╧╘┼├╘┼─
  482.           1011 ─╔╙╦α├╚┴╬╟┼
  483.           1100 ─╔╙╦α╞╧╥═┴╘α╬╧╘α╠╧╟╔├┴╠
  484.           1101 ╥┼╙┼╥╓┼─
  485.           1110 ╙┘╬╘┴╪α┼╥╥╧╥
  486.           1111 ╬╧α─╥╔╓┼α╨╥┼╙┼╬╘
  487.